# spray - script to create necessary symbolic links in /usr/lib/X11 # and /usr/skunk in order to be able to run the software provided # on the SCO Skunkware CD-ROM # Written 09-Mar-94 by rr@sco.com # Usage : spray # Where is the directory on which the CD-ROM is mounted # If mounted on /usr/skunk, no argument is necessary usage() { echo "Usage: spray [mount-point]" echo "\tWhere mount-point refers to the directory on which" echo "\tthe CD-ROM is mounted. If no arguments are given, it" echo "\tis assumed the CD-ROM is mounted on /usr/skunk." exit 1 getyn() { ans= while [ "$ans" = "" ] read ans [ "$ans" = "Y" ] || [ "$ans" = "y" ] && { ans=Y break [ "$ans" = "n" ] || [ "$ans" = "N" ] && { ans=N break ans= echo "\nPlease answer with a Y or N \c" done [ $# = 0 ] && MOUNT_PT=/usr/skunk [ $# = 1 ] && MOUNT_PT=$1 [ $# -gt 1 ] && usage # check to see if the user has root privelege fuid=`id` uid=`echo $fuid | awk ' { print $1 } '` [ "$uid" = "uid=0(root)" ] || { echo "You must have root priveleges to run spray." usage exit 1 # check to make sure the cd is mounted and what we expect is there [ -f $MOUNT_PT/pics/README ] || usage [ -d $MOUNT_PT/lib/X11/app-defaults ] || usage APPDEFDIR=/usr/lib/X11/app-defaults SKUNKLIST="README RELEASE.NOTES \ audio bin cdmt etc games include info lib man pics \ src tls usr xc" # set up the X11 app-defaults directory [ -d $APPDEFDIR ] || mkdir -p $APPDEFDIR cd $APPDEFDIR for i in $MOUNT_PT/lib/X11/app-defaults/* [ "$i" = "$MOUNT_PT/lib/X11/app-defaults/XMcd" ] && continue [ -r `basename $i` ] || ln -s $i . # set up the Willow directory WILLOW_DIR=lib/X11/willow [ -d /usr/$WILLOW_DIR ] || { [ -h /usr/$WILLOW_DIR ] || ln -s $MOUNT_PT/$WILLOW_DIR /usr/$WILLOW_DIR # set up the Periodic uid file UID_DIR=lib/X11/uid UIDFILE=$UID_DIR/periodic.uid [ -f /usr/$UIDFILE ] || { [ -d /usr/$UID_DIR ] || mkdir -p /usr/$UID_DIR ln -s $MOUNT_PT/$UIDFILE /usr/$UIDFILE # set up directory links in /usr/local/lib (for now) [ -d /usr/local/lib ] || { mkdir -p /usr/local/lib [ -d /usr/local/lib/xboing ] || { mkdir -p /usr/local/lib/xboing LOCALLIBDIRS="gcc-lib povray sc-6.21 xboing/levels xc xconq mosaic lynx \ X11" LOCALLIBFILS="libg++.a" for i in $LOCALLIBDIRS [ -d /usr/local/lib/$i ] || ln -s $MOUNT_PT/lib/$i /usr/local/lib/$i for i in $LOCALLIBFILS [ -f /usr/local/lib/$i ] || ln -s $MOUNT_PT/lib/$i /usr/local/lib/$i # Now setup the Fresco DLL's so you don't need to modify LD_LIBRARY_PATH cd /usr/lib for i in $MOUNT_PT/lib/*.so $MOUNT_PT/lib/*.so.1.0 ln -s $i . # Setup the Flying directory in /usr/games FLYINGDIR=/usr/games/lib/flying-6.11/fly.dta [ -d $FLYINGDIR ] || [ -h $FLYINGDIR ] || mkdir -p $FLYINGDIR [ -d $FLYINGDIR ] && chmod 777 $FLYINGDIR touch $FLYINGDIR/logfile.txt chmod a+r $FLYINGDIR/logfile.txt # Setup the various scorefiles in usr/games and /usr/local [ -d /usr/games/lib ] || mkdir -p /usr/games/lib [ -f /usr/games/lib/spatial.sco ] || { cp $MOUNT_PT/games/lib/spatial.sco /usr/games/lib/spatial.sco chmod 666 /usr/games/lib/spatial.sco XBDIR=/usr/local/lib/xboing [ -d $XBDIR ] || mkdir -p $XBDIR [ -f $XBDIR/xboing.scores ] || { cp $MOUNT_PT/lib/xboing/xboing.scores $XBDIR/xboing.scores chmod 666 $XBDIR/xboing.scores [ -f /usr/games/lib/xtetris-scores ] || { cp $MOUNT_PT/games/lib/xtetris-scores /usr/games/lib/xtetris-scores chmod 666 /usr/games/lib/xtetris-scores [ -f /usr/games/lib/mosaic.scores ] || { cp $MOUNT_PT/games/lib/mosaic.scores /usr/games/lib/mosaic.scores chmod 666 /usr/games/lib/mosaic.scores # Setup the Nethack directory in /usr/games NETHACKDIR=/usr/games/lib/nethackdir HACKIT=1 [ -d $NETHACKDIR ] || { if [ -h $NETHACKDIR ] then echo "It looks like $NETHACKDIR is a symlink." echo "I will leave it up to you to configure this directory." HACKIT= else mkdir -p $NETHACKDIR [ "$HACKIT" ] && { chmod 777 $NETHACKDIR cd $NETHACKDIR for i in $MOUNT_PT/games/lib/nethackdir/* name=`basename $i` [ -h $name ] || [ -f $name ] || ln -s $i . done ls -l perm | grep $MOUNT_PT > /dev/null && { rm -f perm touch perm chmod 666 perm ls -l logfile | grep $MOUNT_PT > /dev/null && { rm -f logfile touch logfile chmod 666 logfile ls -l record | grep $MOUNT_PT > /dev/null && { rm -f record touch record chmod 666 record ls -l save | grep $MOUNT_PT > /dev/null && { rm -f save mkdir save chmod 777 save [ "$MOUNT_PT" = "/usr/skunk" ] || { if [ -d /usr/skunk ] then for foo in $SKUNKLIST do if [ -d /usr/skunk/$foo ] then # /usr/skunk/$foo is a directory for some reason so we cd there # and try to create symbolic links out to the mount point cd /usr/skunk/$foo for i in $MOUNT_PT/$foo/* do [ -r `basename $i` ] || ln -s $i . done elif [ -h /usr/skunk/$foo ] then # /usr/skunk/$foo is a symbolic link to a previous mount point # so we remove it and re-link it rm -f /usr/skunk/$foo ln -s $MOUNT_PT/$foo /usr/skunk/$foo else # /usr/skunk/$foo is neither a symbolic link or directory so # let's just try to make it a symbolic link to the mount point rm -f /usr/skunk/$foo ln -s $MOUNT_PT/$foo /usr/skunk/$foo done else rm -f /usr/skunk ln -s $MOUNT_PT /usr/skunk echo "\nInitial SCO Skunkware configuration complete.\n" echo "Some SCO Skunkware files need to be copied to the hard disk" echo "in order to function properly. Others need to be setuid/setgid." echo "Would you like to perform this additional setup at this time ? \c" getyn if [ "$ans" = "Y" ] /usr/skunk/bin/sprinkle -m $MOUNT_PT echo "\nThe additional configuration necessary for some SCO Skunkware" echo "components can be performed later by running (as root) the command :" echo "\n\t/usr/skunk/bin/sprinkle\n" echo "\nSCO Skunkware 5 contains both the NCSA Mosaic graphical web browser" echo "and Lynx, a character mode web browser. A wealth of information" echo "about Skunkware components is available via these browsers. I have" echo "temporarily set your PATH for browser use. See the RELEASE.NOTES for" echo "instructions on how to take full advantage of these documents." echo "\nWould you like to browse the SCO Skunkware 5 CD-ROM ? \c" getyn if [ "$ans" = "Y" ] echo "\nStarting the SCO Skunkware 5 prowl program." echo "Please wait while i load the pages ...\c" /usr/skunk/bin/prowl -s echo "\nThe SCO Skunkware 5 CD-ROM can be browsed at your convenience" echo "by running the command :" echo "\n\t/usr/skunk/bin/prowl\n" exit 0